<?php
/**
 * @abstract: Define enums
 * @author HoanVX
 * @version $Id: enum.php 48 2015-01-11 09:11:26Z voxuanhoan@gmail.com $
 *
 */
class CtEnum  {
	/**
	 * Mục đích (đăng tin / Tìm tin)
	 * @var unknown
	 */
	static $purpose = array(
			'1'	=> "Cần bán",
			'2'	=> "Cần mua"
	);
	
	static $cities = array('DaNang'	=> 'Đà Nẵng',
			'QuangNam'	=> 'Quảng Nam',
			'QuangNgai'	=> 'Quảng Ngãi'
	);
	
	/** Các huyện ở quảng ngãi. */
	static $districtOfQuangNgai = array(
			'ducpho'	=> "Đức Phổ",
			'moduc'		=> 'Mộ Đức',
			'tunghia'	=> "Tư nghĩa",
			'bato'		=> "Ba tơ",
			'trabong'	=> "Trà Bồng",
			'taytra'	=> 'Tây Trà',
			'sonha'		=> 'Sơn Hà',
			'sontinh'	=> 'Sơn Tịnh',
			'binhson'	=> 'Bình Sơn',
			'lyson'		=> 'Lý Sơn'
	);
	
	/** Các huyện ở Quảng Nam */
	static $districtOfQuangNam = array(
			'nuithanh'	=> "Núi Thành",
			'moduc'		=> 'Mộ Đức',
			'tunghia'	=> "Tư nghĩa",
			'bato'		=> "Ba tơ",
			'trabong'	=> "Trà Bồng",
			'taytra'	=> 'Tây Trà',
			'sonha'		=> 'Sơn Hà',
			'sontinh'	=> 'Sơn Tịnh',
			'binhson'	=> 'Bình Sơn',
			'lyson'		=> 'Lý Sơn'
	);
	
	/** Các huyện ở thành phố Đà Nẵng */
	static $districtOfDaNang = array(
			'thanhkhe'	=> "Thanh Khê",
			'moduc'		=> 'Mộ Đức',
			'tunghia'	=> "Tư nghĩa",
			'bato'		=> "Ba tơ",
			'trabong'	=> "Trà Bồng",
			'taytra'	=> 'Tây Trà',
			'sonha'		=> 'Sơn Hà',
			'sontinh'	=> 'Sơn Tịnh',
			'binhson'	=> 'Bình Sơn',
			'lyson'		=> 'Lý Sơn'
	);
}

/**
 * Không được change key của array trừ trường hợp đặc biệt.
 * Vì khi thay đổi key của array được định nghĩa trong constant thì sẽ ảnh hưởng tới DB hiện tại đang sử dụng
 * @author PC
 *
 */
class CityEnum extends CtEnum {
	
	function __construct() {
		asort(self::$districtOfDaNang);
		asort(self::$districtOfQuangNam);
	}
	/**
	 * Get data tu array và return về 1 pulldown 
	 * @param unknown $args
	 */
	static function getCityPulldown($args = array()) {
		
		/// Sort options of cities
		asort(self::$cities);

		//default array if parameter is not pass
		$default = array(
				'options'		=> self::$cities ,
				'name'			=> 'city',
				'id'			=> 'city',
				'class'			=> 'form-control',
				'firstOption'	=> '<option value="">Chọn thành phố</option>',
		);

		$default = wp_parse_args($args, $default);
		return TagUtils::genPulldown($default);
	}
	
	static function getDistrictPulldown($args = array(), $city='') {
		
		$tmpDistrict = self::getDistricts($city);
		
		//default array if parameter is not pass
		$default = array(
				'options'		=> $tmpDistrict ,
				'name'			=> 'district',
				'id'			=> 'district',
				'class'			=> 'form-control',
				'firstOption'	=> '<option value="">Chọn Quận/Huyện</option>'
		);

		// Merger $args array into $default 
		$default = wp_parse_args($args, $default);
		return TagUtils::genPulldown($default);
	}

	/**
	 * Get district array value follow the city is selected
	 * @param unknown $city
	 * @return array
	 */
	public static function getDistricts($city) {
		switch ($city) {
			case "QuangNgai": return self::$districtOfQuangNgai;
			case "QuangNam": return self::$districtOfQuangNam;
			case "DaNang": return self::$districtOfDaNang;
			default: return array();
		}
	}
}
